package ed.model;

import java.io.Serializable;
import org.hibernate.Session;
import org.hibernate.Transaction;

import ed.model.HibernateUtil;
import ed.model.Utilisateur;
import ed.model.Categoriedocument;

import java.util.Iterator;
import java.util.List;
import java.util.Random;
import java.util.Vector;
import org.hibernate.Query;
import org.hibernate.SQLQuery;
import org.hibernate.SessionFactory;
import org.hibernate.cfg.Configuration;

public class AccesBD {
    public static void main(String[] args) {
        AccesBD mgr = new AccesBD();
        HibernateUtil.getSessionFactory().close();
    }

    public Utilisateur getUserByEmail(String emailUtilisateur, int init) {
        Session session = HibernateUtil.getSessionFactory().getCurrentSession();
        Utilisateur u = null;
        session.beginTransaction();
        u = (Utilisateur) session.createQuery(
                "from Utilisateur as u where u.emailUtilisateur = :emailUtilisateur")
                .setParameter("emailUtilisateur", emailUtilisateur).uniqueResult();
        if(init==0) session.getTransaction().commit();
        return u;
    }
    
    public void saveUser(Utilisateur u, int init) {
        Session session = HibernateUtil.getSessionFactory().getCurrentSession();
        session.beginTransaction();
        session.save(u);
        if(init==0) session.getTransaction().commit();
    }
    
    public String listCatDoc(int init) {
        String result="";
        Session session = HibernateUtil.getSessionFactory().getCurrentSession();
        session.beginTransaction();
        String sql = "SELECT * FROM Categoriedocument";
        SQLQuery query = session.createSQLQuery(sql);
        query.addEntity(Categoriedocument.class);
        List Categoriedocuments = query.list();
         for (Iterator iterator =Categoriedocuments.iterator(); iterator.hasNext();){
            Categoriedocument categoriedocument = (Categoriedocument) iterator.next(); 
            result+="<a href='search?idcat="+categoriedocument.getIdCategorieDocument()+"' id='font-a'>"+categoriedocument.getLibelleCategorieDocument()+"</a><br/>";
         }
         result+="<br/>";
        if(init==0) session.getTransaction().commit();
        return result;
    }
     
}
